import { messageSuccess, messageError, alterMessage, notifyError, confirmMessage } from '@/utils/message'

/**
 * @param reqFunc 发送请求的方法
 * @param successFunc 成功处理
 * @param failFunc 失败处理
 */
export function commonSubmit(reqFunc, successFunc, failFunc) {
  const resp = reqFunc
  const { code, message, data } = resp
  try {
    if (code === 200) {
      successFunc(data)
      messageSuccess(message)
    } else if (code === 300) {
      if (failFunc) {
        failFunc(data)
      }
      messageError(message)
    } else {
      notifyError(message)
    }
  } catch (e) {
    notifyError(e.message().message)
  }
}

/**@description 返回的消息以弹窗方式展示
 * @param reqFunc 发送请求的方法
 * @param successFunc 成功处理
 * @param failFunc 失败处理
 */
export function conveySubmit(reqFunc, successFunc, failFunc) {
  const resp = reqFunc
  const { code, message, data } = resp
  try {
    if (code === 200) {
      alterMessage(message)
    } else if (code === 300) {
      if (failFunc) {
        failFunc(data)
      }
      alterMessage(message)
    } else {
      alterMessage(message)
    }
  } catch (e) {
    notifyError(e.message)
  }
}
